Modbus网关漏洞(CVE-2021-4161)分析
更多安全资讯和分析文章请关注启明星辰ADLab微信公众号及官方网站(adlab.venustech.com.cn)
一、漏洞概述
1.1 基本信息
受影响的设备:
受影响的版本:
漏洞可利用性:远程、低复杂度
CVSS v3评分:9.8
1.2 漏洞描述
根据ICS-CERT漏洞公告的描述,该漏洞类型属于敏感信息明文传输。受影响设备的固件存在漏洞,攻击者可以通过嗅探网络流量来窃取和解密设备登录凭据的详细信息,从而获得对目标设备http web server的admin权限。
图1 ICS-CERT Advisory中对漏洞的描述
该漏洞的CVSS3特征为(AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)。如图2所示,ICS-CERT认为该漏洞可远程利用,同时对完整性(Integrity)和可用性(Availability)的影响均为“High”。
图2 ICS-CERT 对CVE-2021-4161 CVSS(3.0)评分
从前面的漏洞描述可知,该漏洞是一个不安全的凭据传输导致凭据泄露的漏洞。那么,为何ICS-CERT认为这样一个漏洞其对完整性和可用性的影响为“High”呢。带着这个疑惑,我们在MGate MB3180设备上对该漏洞进行了分析和验证。
二、漏洞分析
继续对登录请求进行分析,发现请求中的表单数据包含了“account”、“password”等字段信息。如图4所示:
图4 MB3180 Web登录POST请求表单数据(用户名admin,密码1234567)
观察表单中的数据可知,account和password没有常见哈希运算的特征。多次登录的表单数据如下所示:
account | password | FakeChallenge | csrf_token | 使用的用户名密码 |
469fe4cac1 | 16c9ba979a0bd3 | B8A4E38148D12B97D92056B6F4DDB355052C946C5F2CF6D39849DBB174FE21DC | AtrzwL7ZEY9IF80m | admin/123456 |
8db6c0bba0 | 8db6c0bba0 | F86896D3BB3A40637E9CEE7C15B4FE5749895A52125B2DE053C0A3FC20191333 | epgXsUozDOXeYsRh | admin/admin |
8db6c0bba0 | 81bdd5b3 | F86896D3BB3A40637E9CEE7C15B4FE5749895A52125B2DE053C0A3FC20191333 | cRzS3T5XqnrUasgx | admin/moxa |
4a94f1c2 | 4a94f1c2 | B8A4E38148D12B97D92056B6F4DDB355052C946C5F2CF6D39849DBB174FE21DC | KgWAtRgHRPyG98CZ | moxa/moxa |
表 1 使用不同用户名密码登录的POST表单部分数据记录
从上表数据还可以发现如下特征:
account和password和输入长度是相关的;
account和password和FakeChallenge是相关的。
显然,登录数据的安全性取决于函数SetSHA256,其代码如下所示:
图6 MB3180的SetSHA256函数
分析SetSHA256函数的逻辑可知,该函数并没有真正实现SHA256的功能,而是使用了异或方式来处理输入数据。具体来讲,SetSHA256函数的返回值是xor(m,n)之后的结果,而m来源于account/password,n则来源于FakeChallenge。显而易见,在FakeChallenge被泄露的前提下,account/password是可还原的。
三、漏洞验证
根据上述漏洞分析结果,我们编写了解密脚本对该漏洞进行了验证。为简化验证过程,我们直接使用Wireshark抓取了登录MB3180 Web Server的http流量,然后编写脚本对该流量进行分析并解密。
验证结果如图9所示,可从登录流量解密得到用户名和密码信息:
四、漏洞危害
在工业控制环境中,有大量的设备并不具备TCP/IP协议栈,要把这些设备接入基于IT技术的数字化网络就需要借助协议转换网关来完成。MGate MB系列Modbus网关设备的功能即是把RS485类的工业设备接入到TCP/IP网络。这类网关设备漏洞的危害通常不仅仅影响该设备自身,更直接影响其背后支撑的现场设备。因此,NVD对该漏洞给出了两种CVSS3评分,如下所示。
图10 NVD和ICS-CERT评分区别
其中,NVD基于NIST的视角给出了7.5分,而ICS-CERT基于工业视角给出了9.8高分。这两种评分的差别就在于:从IT角度看,该漏洞不能修改该设备的底层数据,也不能使设备停止运行,因此不影响该设备的完整性和可用性;但从工业角度看,通过该漏洞获得管理员账号后可以修改网关的配置,进而使得该设备支撑的工业控制业务发生变更甚至是停止,所以影响了工业控制业务的完整性和可用性。
五、修复建议
建议将受影响设备的Web Server访问的协议设置为https,避免明文传输表单数据;
建议参照Moxa SecurityHardening Guide for MGate MB3000 Series中的方式部署设备。
此外,针对工业控制系统,CISA提供了如下的通用建议:
尽量减少在公网暴露工控设备或者系统;
将控制系统网络和远程设备置于防火墙之后,并和办公网络隔离;
当需要远程访问时,采用类型VPN的安全访问方式。
参考链接:
1. ICSAdvisory (ICSA-21-357-01): Moxa MGate Protocol Gateways
https://www.cisa.gov/uscert/ics/advisories/icsa-21-357-01
2. CVE-2021-4161NVD Details
https://nvd.nist.gov/vuln/detail/CVE-2021-4161
3. Tech Note:Moxa Security Hardening Guide for MGate MB3000 Series
https://cdn-cms.azureedge.net/getmedia/6461a6a5-8b9d-4c83-8fcf-4d163c51f933/moxa-the-security-hardening-guide-for-the-mgate-mb3000-series-tech-note-v1.0.pdf
4. CommonVulnerability Scoring System v3.0: Specification Document
https://www.first.org/cvss/v3.0/specification-document
启明星辰积极防御实验室(ADLab)
ADLab成立于1999年,是中国安全行业最早成立的攻防技术研究实验室之一,微软MAPP计划核心成员,“黑雀攻击”概念首推者。截止目前,ADLab已通过CVE累计发布安全漏洞近1100个,通过 CNVD/CNNVD累计发布安全漏洞2000余个,持续保持国际网络安全领域一流水准。实验室研究方向涵盖操作系统与应用系统安全研究、移动智能终端安全研究、物联网智能设备安全研究、Web安全研究、工控系统安全研究、云安全研究。研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。